package main.java.maziacs;

import main.java.maziacs.characters.IHero;
import main.java.maziacs.squares.Square;

public interface IUI {

	/**
	 * Getter of the property <tt>game</tt>
	 * @return  Returns the game.
	 * @uml.property  name="game"
	 */
	public abstract IGame getGame();

	/**
	 * Setter of the property <tt>game</tt>
	 * @param game  The game to set.
	 * @uml.property  name="game"
	 */
	public abstract void setGame(IGame game);

	/**
	 */
	public abstract void choosePutTile(ITile tile1, Square sq, ITile tile2);

	/**
	 * Se mira si se puede coger o dejar un contador si actua en funcion de eso
	 */
	public abstract void chooseTakeOrLeaveCounter(IHero hero);

	public abstract void chooseSquareToMoveHero(IHero hero);

	/**
	 */
	public abstract void chooseActionWithMaziac(IHero hero);

	/**
	 * Getter of the property <tt>player</tt>
	 * @return  Returns the player.
	 * @uml.property  name="player"
	 */
	public abstract int getPlayer();

	/**
	 * Setter of the property <tt>player</tt>
	 * @param player  The player to set.
	 * @uml.property  name="player"
	 */
	public abstract void setPlayer(int player);

	public abstract Level chooseDifficultyLevel();

	public abstract Integer chooseNumberOfGamers();

}